触发器
使用触发器和动作来创建交互。使用触发器来触发动作,例如将属性设为某个值或设置应用程序的状态。例如,Kanzi 从用户输入生成消息,这些消息由节点根据特定行为进行处理。
节点定义大多数消息处理行为,如在列表框 (List Box) 节点中滚动。但是,为了符合您的应用程序要求,您可以定义其他行为。例如,按钮 (Button) 节点可创建用户点击或轻敲按钮时的点击消息,但您可以定义生成点击消息后会发生什么。例如,点击会触发高亮显示用户点击按钮的动画的动作。
所有 Kanzi 节点可以发送并接收消息,并且能通过触发器拦截这些消息。特定节点默认接收特定用户输入事件的消息。例如,按钮 (Button) 节点默认接收点击消息,滚动视图 (Scroll View) 节点默认接收滚动消息。
在 Kanzi 中,这些概念与定义事件驱动逻辑有关:
- 输入和命中测试。首先在命中测试阶段识别输入,所有已启用可测试命中 (Hit Testable) 属性的节点都参与其中。如果在参与命中测试的节点之上出现指针事件(如鼠标按钮按下),仅最顶部组件接收输入。如果节点带有对已接收输入类型作出反应的操纵器,则能生成消息(例如,点击消息)。请参阅定义哪个节点接收用户输入、使用输入操纵器和使用触发器。
- 输入操纵器。对特定类型的输入手势作出反应的操纵器,如平移、点击或长按。在 Kanzi Studio 中,您可以使用已包含特定类型操纵器的节点,或者您可以使用 Kanzi Engine API 添加输入操纵器。例如,滚动视图 (Scroll View) 节点包含平移操纵器,按钮 (Button) 节点包含点击操纵器。请参阅使用输入操纵器。
- 消息。节点使用消息进行通信。消息通过隧道和冒泡进程在节点之间传递。消息在隧道式传递期间到达其目标节点,在冒泡式传递期间达到祖先节点,直到触发器拦截该消息并将其设置为已处理。这样您可以在节点或其祖先节点中放入触发器。例如,您可以将 radioButtonHandler 触发器放在多个按钮的父节点。请参阅使用消息。
- 触发器。触发器对消息或事件作出反应,并应用逻辑。Kanzi 包括最常用的动作类型,如 设置属性 (Set Property) 或 转到状态 (Go to State),但您可以使用 Kanzi Engine API 定义哪些消息会触发反应。每个触发器含各种设置,如 设置已处理消息 (Set Message Handled) 属性,它可防止消息冒泡传递进入其他触发器,以及条件,您可以用于定义触发器触发的条件。您可以添加多个触发器到单条消息或事件,并且每条消息都有特定设置和条件。请参阅使用触发器和触发器参考。
- 动作。动作是触发器的结果。Kanzi 包括一般动作,如设置属性 (Set Property)、写入日志 (Write Log)、激活主题 (Activate Theme),可用于控制特定类型项的动作,如转到状态 (Go to State)、设置滚动目标 (Set Scroll Target) 或 导航至页面 (Navigate to Page)。请参阅动作参考。
另请参阅
使用触发器
处理用户输入
使用输入操纵器。
使用消息
触发器参考
动作参考
打开导航